package com.aoxin.mapper.opm;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.aoxin.model.opm.SlfRole;

/**
 * 角色Mapper
 * 
 * @author Melody
 * @date 2018年3月22日 上午11:16:17
 */
public interface SlfRoleMapper {
	/**
	 * 批量删除角色
	 * 
	 * @param roleIds
	 *            角色ID集合
	 */
	void deleteByPrimaryKeys(List<Integer> roleIds);

	/**
	 * 添加角色
	 * 
	 * @param record
	 *            角色
	 */
	void insertSelective(SlfRole record);

	/**
	 * 查询角色
	 * 
	 * @param roleId
	 *            角色ID
	 * @return 角色
	 */
	SlfRole selectByPrimaryKey(Integer roleId);

	/**
	 * 修改角色
	 * 
	 * @param record
	 *            角色
	 */
	void updateByPrimaryKeySelective(SlfRole record);

	/**
	 * 批量修改角色状态
	 * 
	 * @param roleIds
	 *            角色ID集合
	 * @param state
	 *            状态
	 */
	void updateStates(@Param("roleIds") List<Integer> roleIds, @Param("state") Integer state);

	/**
	 * 查询角色
	 * 
	 * @param map
	 *            条件集合
	 * @return 角色集合
	 */
	List<SlfRole> getList(Map<String, Object> map);

	/**
	 * 获取记录数
	 *
	 * @param params
	 *            查询条件
	 * @return 记录数
	 */
	Long getRecordCount(Map<String, Object> map);

	/**
	 * 获取下一个排序号
	 * 
	 * @return 序号
	 */
	Long getNextSequence();

	/**
	 * 检查名称重复
	 * 
	 * @param name
	 *            名称
	 * @param roleId
	 *            角色ID
	 * @return 数据量
	 */
	Long checkName(@Param("name") String name, @Param("roleId") Integer roleId);

	/**
	 * 获取所有的角色名称
	 * 
	 * @return
	 */
	List<String> getRoleName();
	
	String queryRoleExistenceEmployee(@Param("roleId") Integer roleId);
	
	Integer IsRole(Integer roleId);
	
}